{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The Mathematical Engineering of Deep Learning\n",
    "\n",
    "## Practical 4 (Julia version)\n",
    "**For an R or Python version see the [course website](https://deeplearningmath.org/)**."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Goals\n",
    "\n",
    "In this tutorial, we mainly use the MNIST dataset to explore classification using deep neural networks (DNN) models.\n",
    "At the end of this tutorial, you should be comfortable to use a software package (here `Flux.jl`) to run different models for a classification task.  You will explore different models by exploring/tuning different hyperparamaters of the DNN: \n",
    "\n",
    "- number of layers and nodes\n",
    "- batch normalization\n",
    "- regularization technique\n",
    "- dropout \n",
    "- weight initialization\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# MNIST"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Reminder**: Keep in mind that all features need to be numeric for running a feedforward DNN. When you have some categorical features you have to transform into numerical values such as one-hot encoded. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Flux.Data.MNIST\n",
    "\n",
    "trainLabels = MNIST.labels()\n",
    "trainImgs = MNIST.images()\n",
    "\n",
    "testLabels = MNIST.labels(:test)\n",
    "testImgs = MNIST.images(:test);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "trainLabels[1] = 5\n"
     ]
    },
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"\n",
       "     width=\"150mm\" height=\"150mm\"\n",
       "     viewBox=\"0 0 28 28\" preserveAspectRatio=\"none\"\n",
       "     shape-rendering=\"crispEdges\" stroke=\"none\">\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"5\" fill=\"#030303\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"5\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"5\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"5\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"5\" fill=\"#7E7E7E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"5\" fill=\"#888888\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"5\" fill=\"#AFAFAF\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"5\" fill=\"#1A1A1A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"5\" fill=\"#A6A6A6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"5\" fill=\"#FFFFFF\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"5\" fill=\"#F7F7F7\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"5\" fill=\"#7F7F7F\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"6\" fill=\"#1E1E1E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"6\" fill=\"#242424\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"6\" fill=\"#5E5E5E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"6\" fill=\"#9A9A9A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"6\" fill=\"#AAAAAA\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"6\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"6\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"6\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"6\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"6\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"6\" fill=\"#E1E1E1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"6\" fill=\"#ACACAC\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"6\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"6\" fill=\"#F2F2F2\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"6\" fill=\"#C3C3C3\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"6\" fill=\"#404040\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"7\" fill=\"#313131\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"7\" fill=\"#EEEEEE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"7\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"7\" fill=\"#FBFBFB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"7\" fill=\"#5D5D5D\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"7\" fill=\"#525252\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"7\" fill=\"#525252\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"7\" fill=\"#383838\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"7\" fill=\"#272727\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"8\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"8\" fill=\"#DBDBDB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"8\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"8\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"8\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"8\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"8\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"8\" fill=\"#B6B6B6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"8\" fill=\"#F7F7F7\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"8\" fill=\"#F1F1F1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"9\" fill=\"#505050\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"9\" fill=\"#9C9C9C\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"9\" fill=\"#6B6B6B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"9\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"9\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"9\" fill=\"#CDCDCD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"9\" fill=\"#0B0B0B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"9\" fill=\"#2B2B2B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"9\" fill=\"#9A9A9A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"10\" fill=\"#0E0E0E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"10\" fill=\"#010101\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"10\" fill=\"#9A9A9A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"10\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"10\" fill=\"#5A5A5A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"11\" fill=\"#8B8B8B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"11\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"11\" fill=\"#BEBEBE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"11\" fill=\"#020202\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"12\" fill=\"#0B0B0B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"12\" fill=\"#BEBEBE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"12\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"12\" fill=\"#464646\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"13\" fill=\"#232323\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"13\" fill=\"#F1F1F1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"13\" fill=\"#E1E1E1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"13\" fill=\"#A0A0A0\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"13\" fill=\"#6C6C6C\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"13\" fill=\"#010101\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"14\" fill=\"#515151\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"14\" fill=\"#F0F0F0\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"14\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"14\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"14\" fill=\"#777777\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"14\" fill=\"#191919\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"15\" fill=\"#2D2D2D\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"15\" fill=\"#BABABA\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"15\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"15\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"15\" fill=\"#969696\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"15\" fill=\"#1B1B1B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"16\" fill=\"#101010\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"16\" fill=\"#5D5D5D\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"16\" fill=\"#FCFCFC\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"16\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"16\" fill=\"#BBBBBB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"17\" fill=\"#F9F9F9\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"17\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"17\" fill=\"#F9F9F9\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"17\" fill=\"#404040\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"18\" fill=\"#2E2E2E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"18\" fill=\"#828282\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"18\" fill=\"#B7B7B7\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"18\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"18\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"18\" fill=\"#CFCFCF\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"18\" fill=\"#020202\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"19\" fill=\"#272727\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"19\" fill=\"#949494\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"19\" fill=\"#E5E5E5\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"19\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"19\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"19\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"19\" fill=\"#FAFAFA\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"19\" fill=\"#B6B6B6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"20\" fill=\"#181818\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"20\" fill=\"#727272\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"20\" fill=\"#DDDDDD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"20\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"20\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"20\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"20\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"20\" fill=\"#C9C9C9\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"20\" fill=\"#4E4E4E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"21\" fill=\"#171717\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"21\" fill=\"#424242\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"21\" fill=\"#D5D5D5\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"21\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"21\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"21\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"21\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"21\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"21\" fill=\"#515151\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"21\" fill=\"#020202\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"22\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"22\" fill=\"#ABABAB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"22\" fill=\"#DBDBDB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"22\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"22\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"22\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"22\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"22\" fill=\"#C3C3C3\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"22\" fill=\"#505050\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"22\" fill=\"#090909\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"23\" fill=\"#373737\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"23\" fill=\"#ACACAC\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"23\" fill=\"#E2E2E2\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"23\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"23\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"23\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"23\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"23\" fill=\"#F4F4F4\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"23\" fill=\"#858585\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"23\" fill=\"#0B0B0B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"24\" fill=\"#888888\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"24\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"24\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"24\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"24\" fill=\"#D4D4D4\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"24\" fill=\"#878787\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"24\" fill=\"#848484\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"24\" fill=\"#101010\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"27\" fill=\"#000000\" />\n",
       "</svg>"
      ],
      "text/plain": [
       "28×28 Array{Gray{N0f8},2} with eltype Gray{FixedPointNumbers.Normed{UInt8,8}}:\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " ⋮                                 ⋱                   \n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)"
      ]
     },
     "execution_count": 130,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@show trainLabels[1]\n",
    "trainImgs[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Scale the data set\n",
    "\n",
    "The data is in gray scale with each image having 0 to 255 values. In general we would need to scale it, but Julia does this for us..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Array{Gray{FixedPointNumbers.Normed{UInt8,8}},2}"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "typeof(trainImgs[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0f0, 1.0f0)"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "extrema(Float32.(trainImgs[1]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Transform the outcome \n",
    "\n",
    "For multi-classification model (multinomial response 0 to 9), `Flux.jl` uses one-hot encoded for the outcome\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Flux: onehotbatch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "search:\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "\\begin{verbatim}\n",
       "onehotbatch(ls, labels[, unk...])\n",
       "\\end{verbatim}\n",
       "Return a \\texttt{OneHotMatrix} where \\texttt{k}th column of the matrix is \\texttt{onehot(ls[k], labels)}.\n",
       "\n",
       "If one of the input labels \\texttt{ls} is not found in \\texttt{labels} and \\texttt{unk} is given, return \\href{@ref}{\\texttt{onehot(unk, labels)}} ; otherwise the function will raise an error.\n",
       "\n",
       "\\section{Examples}\n",
       "\\begin{verbatim}\n",
       "julia> Flux.onehotbatch([:b, :a, :b], [:a, :b, :c])\n",
       "3×3 Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}:\n",
       " 0  1  0\n",
       " 1  0  1\n",
       " 0  0  0\n",
       "\\end{verbatim}\n"
      ],
      "text/markdown": [
       "```\n",
       "onehotbatch(ls, labels[, unk...])\n",
       "```\n",
       "\n",
       "Return a `OneHotMatrix` where `k`th column of the matrix is `onehot(ls[k], labels)`.\n",
       "\n",
       "If one of the input labels `ls` is not found in `labels` and `unk` is given, return [`onehot(unk, labels)`](@ref) ; otherwise the function will raise an error.\n",
       "\n",
       "# Examples\n",
       "\n",
       "```jldoctest\n",
       "julia> Flux.onehotbatch([:b, :a, :b], [:a, :b, :c])\n",
       "3×3 Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}:\n",
       " 0  1  0\n",
       " 1  0  1\n",
       " 0  0  0\n",
       "```\n"
      ],
      "text/plain": [
       "\u001b[36m  onehotbatch(ls, labels[, unk...])\u001b[39m\n",
       "\n",
       "  Return a \u001b[36mOneHotMatrix\u001b[39m where \u001b[36mk\u001b[39mth column of the matrix is \u001b[36monehot(ls[k],\n",
       "  labels)\u001b[39m.\n",
       "\n",
       "  If one of the input labels \u001b[36mls\u001b[39m is not found in \u001b[36mlabels\u001b[39m and \u001b[36munk\u001b[39m is given,\n",
       "  return \u001b[36monehot(unk, labels)\u001b[39m ; otherwise the function will raise an error.\n",
       "\n",
       "\u001b[1m  Examples\u001b[22m\n",
       "\u001b[1m  ≡≡≡≡≡≡≡≡≡≡\u001b[22m\n",
       "\n",
       "\u001b[36m  julia> Flux.onehotbatch([:b, :a, :b], [:a, :b, :c])\u001b[39m\n",
       "\u001b[36m  3×3 Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}:\u001b[39m\n",
       "\u001b[36m   0  1  0\u001b[39m\n",
       "\u001b[36m   1  0  1\u001b[39m\n",
       "\u001b[36m   0  0  0\u001b[39m"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "? onehotbatch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×60000 Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}:\n",
       " 0  1  0  0  0  0  0  0  0  0  0  0  0  …  0  0  0  0  0  0  0  0  0  0  0  0\n",
       " 0  0  0  1  0  0  1  0  1  0  0  0  0     0  0  0  0  0  0  1  0  0  0  0  0\n",
       " 0  0  0  0  0  1  0  0  0  0  0  0  0     0  0  0  1  0  0  0  0  0  0  0  0\n",
       " 0  0  0  0  0  0  0  1  0  0  1  0  1     0  0  0  0  0  0  0  0  1  0  0  0\n",
       " 0  0  1  0  0  0  0  0  0  1  0  0  0     0  0  0  0  0  0  0  0  0  0  0  0\n",
       " 1  0  0  0  0  0  0  0  0  0  0  1  0  …  0  0  0  0  0  1  0  0  0  1  0  0\n",
       " 0  0  0  0  0  0  0  0  0  0  0  0  0     0  0  0  0  0  0  0  0  0  0  1  0\n",
       " 0  0  0  0  0  0  0  0  0  0  0  0  0     1  0  0  0  0  0  0  0  0  0  0  0\n",
       " 0  0  0  0  0  0  0  0  0  0  0  0  0     0  1  0  0  0  0  0  1  0  0  0  1\n",
       " 0  0  0  0  1  0  0  0  0  0  0  0  0     0  0  1  0  1  0  0  0  0  0  0  0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "onehotbatch(trainLabels,0:9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Organize the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0]\n",
       "\n",
       "Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0]\n",
       "\n",
       "Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0]\n",
       "\n",
       "...\n",
       "\n",
       "Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0]\n",
       "\n",
       "Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0]\n",
       "\n",
       "Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0], Bool[0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 1; 0 0 … 0 0])"
      ]
     },
     "execution_count": 137,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batchSize = 128 #mini-batch size\n",
    "validateFraction = 0.2 #keep 20% for validation\n",
    "numTrain = length(trainImgs)\n",
    "trainRange, validateRange = 1:Int(numTrain*(1-validateFraction)), (Int(numTrain*(1-validateFraction))+1):60000\n",
    "\n",
    "function minibatch(x, y, indexRange)\n",
    "    xBatch = Array{Float32}(undef, size(x[1])..., 1, length(indexRange))\n",
    "    for i in 1:length(indexRange)\n",
    "        xBatch[:, :, :, i] = Float32.(x[indexRange[i]])\n",
    "    end\n",
    "    return (xBatch, onehotbatch(y[indexRange], 0:9))#A tuple of x and y\n",
    "end\n",
    "\n",
    "mbIdxs = Iterators.partition(1:length(trainImgs), batchSize)\n",
    "trainSet = [minibatch(trainImgs, trainLabels, bi) for bi in mbIdxs]\n",
    "oneBatchTrainSet =  minibatch(trainImgs, trainLabels, 1:length(trainImgs))\n",
    "\n",
    "validateLabels = MNIST.labels()[validateRange]\n",
    "validateImgs = MNIST.images()[validateRange]\n",
    "validateSet = minibatch(validateImgs, validateLabels, 1:length(validateImgs))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Tuple{Array{Float32,4},Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}}"
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "typeof(oneBatchTrainSet)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Tuple{Array{Float32,4},Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}}"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "typeof(trainSet[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "28×28×1×128 Array{Float32,4}:\n",
       "[:, :, 1, 1] =\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                        ⋮              ⋱                      ⋮         \n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       "\n",
       "[:, :, 1, 2] =\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                        ⋮         ⋱                      ⋮         \n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       "\n",
       "[:, :, 1, 3] =\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                        ⋮         ⋱                      ⋮         \n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0  0.0\n",
       "\n",
       "...\n",
       "\n",
       "[:, :, 1, 126] =\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.32549   0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.756863  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.992157  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.984314  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.984314  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.827451  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.368627  0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                                  ⋱                      ⋮         \n",
       " 0.0  0.0  0.0  0.0       0.670588     0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.235294  0.894118     0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.607843  0.992157     0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.992157  0.984314     0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.992157  0.984314  …  0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.356863  0.737255     0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0       0.0  0.0  0.0  0.0  0.0\n",
       "\n",
       "[:, :, 1, 127] =\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                        ⋮         ⋱                 ⋮         \n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.0  0.0  0.0  0.0  0.0  0.0\n",
       "\n",
       "[:, :, 1, 128] =\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0745098  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.388235   0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.247059   0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                                  ⋱                       ⋮         \n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.266667  0.662745     0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.670588  0.992157     0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.486275  0.992157     0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.145098  0.858824  …  0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.454902     0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0       …  0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0       0.0          0.0        0.0  0.0  0.0  0.0  0.0"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trainSet[2][1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×128 Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}:\n",
       " 0  1  0  0  0  0  0  0  0  0  0  0  0  …  0  0  1  1  0  1  0  0  0  0  0  0\n",
       " 0  0  0  1  0  0  1  0  1  0  0  0  0     0  0  0  0  0  0  0  0  1  0  0  0\n",
       " 0  0  0  0  0  1  0  0  0  0  0  0  0     0  1  0  0  1  0  1  0  0  0  0  0\n",
       " 0  0  0  0  0  0  0  1  0  0  1  0  1     0  0  0  0  0  0  0  0  0  0  0  0\n",
       " 0  0  1  0  0  0  0  0  0  1  0  0  0     0  0  0  0  0  0  0  0  0  0  0  1\n",
       " 1  0  0  0  0  0  0  0  0  0  0  1  0  …  0  0  0  0  0  0  0  0  0  0  0  0\n",
       " 0  0  0  0  0  0  0  0  0  0  0  0  0     0  0  0  0  0  0  0  0  0  0  1  0\n",
       " 0  0  0  0  0  0  0  0  0  0  0  0  0     0  0  0  0  0  0  0  1  0  0  0  0\n",
       " 0  0  0  0  0  0  0  0  0  0  0  0  0     0  0  0  0  0  0  0  0  0  1  0  0\n",
       " 0  0  0  0  1  0  0  0  0  0  0  0  0     1  0  0  0  0  0  0  0  0  0  0  0"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trainSet[1][2]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Implementation a DNN using `Flux.jl`\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Flux, Flux.Data.MNIST, Statistics, Random, Plots; pyplot()\n",
    "using Flux: onehotbatch, onecold, crossentropy\n",
    "Random.seed!(0);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "search: \u001b[0m\u001b[1mD\u001b[22m\u001b[0m\u001b[1me\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1me\u001b[22m \u001b[0m\u001b[1mD\u001b[22m\u001b[0m\u001b[1me\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1me\u001b[22mArray \u001b[0m\u001b[1mD\u001b[22m\u001b[0m\u001b[1me\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1me\u001b[22mVector \u001b[0m\u001b[1mD\u001b[22m\u001b[0m\u001b[1me\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1me\u001b[22mMatrix \u001b[0m\u001b[1mD\u001b[22m\u001b[0m\u001b[1me\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1me\u001b[22mVecOrMat \u001b[0m\u001b[1mD\u001b[22m\u001b[0m\u001b[1me\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1me\u001b[22mConvDims\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "\\begin{verbatim}\n",
       "Dense(in::Integer, out::Integer, σ = identity)\n",
       "\\end{verbatim}\n",
       "Create a traditional \\texttt{Dense} layer with parameters \\texttt{W} and \\texttt{b}.\n",
       "\n",
       "\\begin{verbatim}\n",
       "y = σ.(W * x .+ b)\n",
       "\\end{verbatim}\n",
       "The input \\texttt{x} must be a vector of length \\texttt{in}, or a batch of vectors represented as an \\texttt{in × N} matrix. The out \\texttt{y} will be a vector or batch of length \\texttt{out}.\n",
       "\n",
       "\\section{Example}\n",
       "\\begin{verbatim}\n",
       "julia> d = Dense(5, 2)\n",
       "Dense(5, 2)\n",
       "\n",
       "julia> d(rand(5))\n",
       "2-element Array{Float32,1}:\n",
       " -0.16210233\n",
       "  0.123119034\n",
       "\\end{verbatim}\n"
      ],
      "text/markdown": [
       "```\n",
       "Dense(in::Integer, out::Integer, σ = identity)\n",
       "```\n",
       "\n",
       "Create a traditional `Dense` layer with parameters `W` and `b`.\n",
       "\n",
       "```\n",
       "y = σ.(W * x .+ b)\n",
       "```\n",
       "\n",
       "The input `x` must be a vector of length `in`, or a batch of vectors represented as an `in × N` matrix. The out `y` will be a vector or batch of length `out`.\n",
       "\n",
       "# Example\n",
       "\n",
       "```\n",
       "julia> d = Dense(5, 2)\n",
       "Dense(5, 2)\n",
       "\n",
       "julia> d(rand(5))\n",
       "2-element Array{Float32,1}:\n",
       " -0.16210233\n",
       "  0.123119034\n",
       "```\n"
      ],
      "text/plain": [
       "\u001b[36m  Dense(in::Integer, out::Integer, σ = identity)\u001b[39m\n",
       "\n",
       "  Create a traditional \u001b[36mDense\u001b[39m layer with parameters \u001b[36mW\u001b[39m and \u001b[36mb\u001b[39m.\n",
       "\n",
       "\u001b[36m  y = σ.(W * x .+ b)\u001b[39m\n",
       "\n",
       "  The input \u001b[36mx\u001b[39m must be a vector of length \u001b[36min\u001b[39m, or a batch of vectors represented\n",
       "  as an \u001b[36min × N\u001b[39m matrix. The out \u001b[36my\u001b[39m will be a vector or batch of length \u001b[36mout\u001b[39m.\n",
       "\n",
       "\u001b[1m  Example\u001b[22m\n",
       "\u001b[1m  ≡≡≡≡≡≡≡≡≡\u001b[22m\n",
       "\n",
       "\u001b[36m  julia> d = Dense(5, 2)\u001b[39m\n",
       "\u001b[36m  Dense(5, 2)\u001b[39m\n",
       "\u001b[36m  \u001b[39m\n",
       "\u001b[36m  julia> d(rand(5))\u001b[39m\n",
       "\u001b[36m  2-element Array{Float32,1}:\u001b[39m\n",
       "\u001b[36m   -0.16210233\u001b[39m\n",
       "\u001b[36m    0.123119034\u001b[39m"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "? Dense"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Chain(flatten, Dense(784, 128, relu), Dense(128, 64, relu), Dense(64, 10), softmax)"
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = Chain(flatten, #Assumes 28x28 input\n",
    "             Dense(784, 128,relu),\n",
    "             Dense(128,64,relu),\n",
    "             Dense(64, 10), softmax)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "28×28×1×1 Array{Float32,4}:\n",
       "[:, :, 1, 1] =\n",
       " 0.642632   0.500488   0.952353   …  0.561545   0.690352    0.593889\n",
       " 0.0382713  0.62674    0.909477      0.078818   0.768693    0.691263\n",
       " 0.53666    0.0226843  0.0852072     0.937394   0.51535     0.949518\n",
       " 0.651913   0.80515    0.532032      0.925936   0.85998     0.519913\n",
       " 0.783702   0.0396653  0.488658      0.864002   0.485583    0.985796\n",
       " 0.400941   0.428303   0.972808   …  0.555855   0.993418    0.176409\n",
       " 0.944766   0.215189   0.168391      0.0565847  0.606486    0.0623689\n",
       " 0.395684   0.732655   0.046378      0.594003   0.125206    0.889789\n",
       " 0.899657   0.75774    0.231964      0.107535   0.0186582   0.90981\n",
       " 0.10891    0.0417923  0.720433      0.589198   0.00906622  0.153848\n",
       " 0.9341     0.982689   0.0437049  …  0.218528   0.896509    0.740267\n",
       " 0.404202   0.958704   0.516564      0.814122   0.710602    0.55893\n",
       " 0.610032   0.167618   0.351115      0.199022   0.779963    0.209215\n",
       " ⋮                                ⋱  ⋮                      \n",
       " 0.808292   0.200157   0.348659      0.503918   0.718923    0.418584\n",
       " 0.923397   0.637697   0.590248      0.952703   0.734614    0.0785887\n",
       " 0.592784   0.435417   0.682923      0.0216713  0.796005    0.0010711\n",
       " 0.117349   0.825037   0.950289      0.886311   0.732805    0.5475\n",
       " 0.237432   0.133435   0.504785   …  0.599253   0.109578    0.760652\n",
       " 0.698162   0.253083   0.142554      0.240733   0.423534    0.443472\n",
       " 0.268768   0.780302   0.473912      0.336815   0.733431    0.867426\n",
       " 0.869241   0.932873   0.496951      0.120705   0.966408    0.88109\n",
       " 0.0368125  0.0326355  0.717382      0.242046   0.778868    0.387651\n",
       " 0.200026   0.942732   0.0207143  …  0.886655   0.61115     0.702642\n",
       " 0.681616   0.486511   0.436426      0.393059   0.845039    0.479998\n",
       " 0.641873   0.972839   0.221637      0.679416   0.0353588   0.600621"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "testImg = Array{Float32}(undef, 28, 28, 1, 1)\n",
    "rand!(testImg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×1 Array{Float32,2}:\n",
       " 0.098156236\n",
       " 0.09351597\n",
       " 0.025089001\n",
       " 0.16187936\n",
       " 0.08455568\n",
       " 0.15375611\n",
       " 0.05485805\n",
       " 0.17760079\n",
       " 0.11169337\n",
       " 0.03889543"
      ]
     },
     "execution_count": 152,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model(testImg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "length(model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "flatten (generic function with 1 method)"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "784×1 Array{Float32,2}:\n",
       " 0.6426325\n",
       " 0.038271308\n",
       " 0.5366601\n",
       " 0.6519133\n",
       " 0.7837024\n",
       " 0.4009415\n",
       " 0.94476604\n",
       " 0.39568412\n",
       " 0.8996569\n",
       " 0.10891032\n",
       " 0.93409956\n",
       " 0.40420234\n",
       " 0.61003196\n",
       " ⋮\n",
       " 0.418584\n",
       " 0.078588724\n",
       " 0.0010710955\n",
       " 0.54750013\n",
       " 0.7606517\n",
       " 0.44347215\n",
       " 0.86742604\n",
       " 0.8810903\n",
       " 0.38765073\n",
       " 0.70264184\n",
       " 0.4799981\n",
       " 0.6006205"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model[1](testImg) #apply first layer onto test image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "128×1 Array{Float32,2}:\n",
       " 0.0\n",
       " 1.6823058\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 1.1247358\n",
       " 0.040016294\n",
       " 0.0\n",
       " 0.3797341\n",
       " 0.0\n",
       " 0.0\n",
       " ⋮\n",
       " 0.0\n",
       " 0.28739774\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.14597398\n",
       " 0.0\n",
       " 2.0804334\n",
       " 0.0\n",
       " 0.07807127\n",
       " 0.15627548\n",
       " 0.76216686"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model[1:2](testImg) #apply first two layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "64×1 Array{Float32,2}:\n",
       " 1.2627497\n",
       " 0.0\n",
       " 0.0\n",
       " 0.6539897\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.23583542\n",
       " 0.0\n",
       " 0.0\n",
       " ⋮\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.3375893\n",
       " 0.0\n",
       " 0.013802878\n",
       " 0.995\n",
       " 0.0\n",
       " 1.0714834\n",
       " 0.13287781\n",
       " 0.0\n",
       " 0.0"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model[1:3](testImg) #apply first 3 layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×1 Array{Float32,2}:\n",
       "  0.33069757\n",
       "  0.28226927\n",
       " -1.0334334\n",
       "  0.83098835\n",
       "  0.18154725\n",
       "  0.77950466\n",
       " -0.25111404\n",
       "  0.9236753\n",
       "  0.45989433\n",
       " -0.5949863"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model[1:4](testImg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×1 Array{Float32,2}:\n",
       " 0.098156236\n",
       " 0.09351597\n",
       " 0.025089001\n",
       " 0.16187936\n",
       " 0.08455568\n",
       " 0.15375611\n",
       " 0.05485805\n",
       " 0.17760079\n",
       " 0.11169337\n",
       " 0.03889543"
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model[1:5](testImg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0f0"
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum(ans)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Accuracy and loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "loss (generic function with 1 method)"
      ]
     },
     "execution_count": 162,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy(x, y, model) = mean(onecold(model(x)) .== onecold(y))\n",
    "loss(x, y, model) = crossentropy(model(x), y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\begin{verbatim}\n",
       "@epochs N body\n",
       "\\end{verbatim}\n",
       "Run \\texttt{body} \\texttt{N} times. Mainly useful for quickly doing multiple epochs of training in a REPL.\n",
       "\n",
       "\\section{Examples}\n",
       "\\begin{verbatim}\n",
       "julia> Flux.@epochs 2 println(\"hello\")\n",
       "[ Info: Epoch 1\n",
       "hello\n",
       "[ Info: Epoch 2\n",
       "hello\n",
       "\\end{verbatim}\n"
      ],
      "text/markdown": [
       "```\n",
       "@epochs N body\n",
       "```\n",
       "\n",
       "Run `body` `N` times. Mainly useful for quickly doing multiple epochs of training in a REPL.\n",
       "\n",
       "# Examples\n",
       "\n",
       "```jldoctest\n",
       "julia> Flux.@epochs 2 println(\"hello\")\n",
       "[ Info: Epoch 1\n",
       "hello\n",
       "[ Info: Epoch 2\n",
       "hello\n",
       "```\n"
      ],
      "text/plain": [
       "\u001b[36m  @epochs N body\u001b[39m\n",
       "\n",
       "  Run \u001b[36mbody\u001b[39m \u001b[36mN\u001b[39m times. Mainly useful for quickly doing multiple epochs of\n",
       "  training in a REPL.\n",
       "\n",
       "\u001b[1m  Examples\u001b[22m\n",
       "\u001b[1m  ≡≡≡≡≡≡≡≡≡≡\u001b[22m\n",
       "\n",
       "\u001b[36m  julia> Flux.@epochs 2 println(\"hello\")\u001b[39m\n",
       "\u001b[36m  [ Info: Epoch 1\u001b[39m\n",
       "\u001b[36m  hello\u001b[39m\n",
       "\u001b[36m  [ Info: Epoch 2\u001b[39m\n",
       "\u001b[36m  hello\u001b[39m"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "? @epochs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\begin{verbatim}\n",
       "train!(loss, params, data, opt; cb)\n",
       "\\end{verbatim}\n",
       "For each datapoint \\texttt{d} in \\texttt{data}, compute the gradient of  \\texttt{loss} with respect to \\texttt{params} through backpropagation and call the optimizer \\texttt{opt}.\n",
       "\n",
       "If \\texttt{d} is a tuple of arguments to \\texttt{loss} call \\texttt{loss(d...)}, else call \\texttt{loss(d)}.\n",
       "\n",
       "A callback is given with the keyword argument \\texttt{cb}. For example, this will print \"training\" every 10 seconds (using \\href{@ref}{\\texttt{Flux.throttle}}):\n",
       "\n",
       "\\begin{verbatim}\n",
       "train!(loss, params, data, opt, cb = throttle(() -> println(\"training\"), 10))\n",
       "\\end{verbatim}\n",
       "The callback can call \\href{@ref}{\\texttt{Flux.stop}} to interrupt the training loop.\n",
       "\n",
       "Multiple optimisers and callbacks can be passed to \\texttt{opt} and \\texttt{cb} as arrays.\n",
       "\n"
      ],
      "text/markdown": [
       "```\n",
       "train!(loss, params, data, opt; cb)\n",
       "```\n",
       "\n",
       "For each datapoint `d` in `data`, compute the gradient of  `loss` with respect to `params` through backpropagation and call the optimizer `opt`.\n",
       "\n",
       "If `d` is a tuple of arguments to `loss` call `loss(d...)`, else call `loss(d)`.\n",
       "\n",
       "A callback is given with the keyword argument `cb`. For example, this will print \"training\" every 10 seconds (using [`Flux.throttle`](@ref)):\n",
       "\n",
       "```\n",
       "train!(loss, params, data, opt, cb = throttle(() -> println(\"training\"), 10))\n",
       "```\n",
       "\n",
       "The callback can call [`Flux.stop`](@ref) to interrupt the training loop.\n",
       "\n",
       "Multiple optimisers and callbacks can be passed to `opt` and `cb` as arrays.\n"
      ],
      "text/plain": [
       "\u001b[36m  train!(loss, params, data, opt; cb)\u001b[39m\n",
       "\n",
       "  For each datapoint \u001b[36md\u001b[39m in \u001b[36mdata\u001b[39m, compute the gradient of \u001b[36mloss\u001b[39m with respect to\n",
       "  \u001b[36mparams\u001b[39m through backpropagation and call the optimizer \u001b[36mopt\u001b[39m.\n",
       "\n",
       "  If \u001b[36md\u001b[39m is a tuple of arguments to \u001b[36mloss\u001b[39m call \u001b[36mloss(d...)\u001b[39m, else call \u001b[36mloss(d)\u001b[39m.\n",
       "\n",
       "  A callback is given with the keyword argument \u001b[36mcb\u001b[39m. For example, this will\n",
       "  print \"training\" every 10 seconds (using \u001b[36mFlux.throttle\u001b[39m):\n",
       "\n",
       "\u001b[36m  train!(loss, params, data, opt, cb = throttle(() -> println(\"training\"), 10))\u001b[39m\n",
       "\n",
       "  The callback can call \u001b[36mFlux.stop\u001b[39m to interrupt the training loop.\n",
       "\n",
       "  Multiple optimisers and callbacks can be passed to \u001b[36mopt\u001b[39m and \u001b[36mcb\u001b[39m as arrays."
      ]
     },
     "execution_count": 166,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "? Flux.train!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\begin{verbatim}\n",
       "update!(x, x̄)\n",
       "\\end{verbatim}\n",
       "Update the array \\texttt{x} according to \\texttt{x .-= x̄}.\n",
       "\n",
       "\\rule{\\textwidth}{1pt}\n",
       "\\begin{verbatim}\n",
       "update!(opt, p, g)\n",
       "update!(opt, ps::Params, gs)\n",
       "\\end{verbatim}\n",
       "Perform an update step of the parameters \\texttt{ps} (or the single parameter \\texttt{p}) according to optimizer \\texttt{opt}  and the gradients \\texttt{gs} (the gradient \\texttt{g}).\n",
       "\n",
       "As a result, the parameters are mutated and the optimizer's internal state may change.\n",
       "\n"
      ],
      "text/markdown": [
       "```\n",
       "update!(x, x̄)\n",
       "```\n",
       "\n",
       "Update the array `x` according to `x .-= x̄`.\n",
       "\n",
       "---\n",
       "\n",
       "```\n",
       "update!(opt, p, g)\n",
       "update!(opt, ps::Params, gs)\n",
       "```\n",
       "\n",
       "Perform an update step of the parameters `ps` (or the single parameter `p`) according to optimizer `opt`  and the gradients `gs` (the gradient `g`).\n",
       "\n",
       "As a result, the parameters are mutated and the optimizer's internal state may change.\n"
      ],
      "text/plain": [
       "\u001b[36m  update!(x, x̄)\u001b[39m\n",
       "\n",
       "  Update the array \u001b[36mx\u001b[39m according to \u001b[36mx .-= x̄\u001b[39m.\n",
       "\n",
       "  ────────────────────────────────────────────────────────────────────────────\n",
       "\n",
       "\u001b[36m  update!(opt, p, g)\u001b[39m\n",
       "\u001b[36m  update!(opt, ps::Params, gs)\u001b[39m\n",
       "\n",
       "  Perform an update step of the parameters \u001b[36mps\u001b[39m (or the single parameter \u001b[36mp\u001b[39m)\n",
       "  according to optimizer \u001b[36mopt\u001b[39m and the gradients \u001b[36mgs\u001b[39m (the gradient \u001b[36mg\u001b[39m).\n",
       "\n",
       "  As a result, the parameters are mutated and the optimizer's internal state\n",
       "  may change."
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "? Flux.update!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1: Validation Accuracy: 0.963\n",
      "2: Validation Accuracy: 0.973\n",
      "3: Validation Accuracy: 0.975\n",
      "4: Validation Accuracy: 0.969\n",
      "5: Validation Accuracy: 0.985\n",
      "6: Validation Accuracy: 0.981\n",
      "7: Validation Accuracy: 0.985\n",
      "8: Validation Accuracy: 0.987\n",
      "9: Validation Accuracy: 0.986\n",
      "10: Validation Accuracy: 0.991\n",
      "11: Validation Accuracy: 0.989\n",
      "12: Validation Accuracy: 0.989\n",
      "13: Validation Accuracy: 0.993\n",
      "14: Validation Accuracy: 0.993\n",
      "15: Validation Accuracy: 0.988\n",
      "16: Validation Accuracy: 0.989\n",
      "17: Validation Accuracy: 0.989\n",
      "18: Validation Accuracy: 0.982\n",
      "19: Validation Accuracy: 0.989\n",
      "20: Validation Accuracy: 0.994\n",
      "21: Validation Accuracy: 0.991\n",
      "22: Validation Accuracy: 0.991\n",
      "23: Validation Accuracy: 0.99\n",
      "24: Validation Accuracy: 0.987\n",
      "25: Validation Accuracy: 0.986\n",
      "\n",
      "Final validation accuracy = 0.9865\n"
     ]
    }
   ],
   "source": [
    "η = 0.01 #learning rate \n",
    "\n",
    "function trainModel(model;epochs = 25,opt = ADAM(η),verbose = true)\n",
    "    trainingLosses, validationLosses = [], []\n",
    "    trainingAccuracy, validationAccuracy = [], []\n",
    "    \n",
    "    function updateAfterEpcoh()\n",
    "        push!(trainingLosses, loss(oneBatchTrainSet..., model))\n",
    "        push!(validationLosses, loss(validateSet..., model))\n",
    "        push!(trainingAccuracy,accuracy(oneBatchTrainSet..., model))\n",
    "        push!(validationAccuracy,accuracy(validateSet..., model))\n",
    "    end\n",
    "\n",
    "    model(trainSet[1][1]) #speedup by running once\n",
    "    for ep in 1:epochs\n",
    "        #train!() runs a full epoch on all the mini-batches in trainset\n",
    "        #It pulls from pairs in trainSet as \"x\" and \"y\" and use them in the first argument\n",
    "        Flux.train!((x,y)->loss(x,y,model), params(model), trainSet, opt) #Here is the \"beef\"\n",
    "        updateAfterEpcoh()\n",
    "        verbose && println(\"$(ep): Validation Accuracy: $(round(last(validationAccuracy),digits=3))\")\n",
    "    end\n",
    "    return (trainingLosses, validationLosses, trainingAccuracy, validationAccuracy)\n",
    "end\n",
    "\n",
    "traces = trainModel(model)\n",
    "println(\"\\nFinal validation accuracy = \", accuracy(validateSet..., model))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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UyfznX+amJiYXLd9L8g4FLCyDs1T29B8tT7NU9vIb75WrlzZ4nWOAX3ixDu35M7r4DL16tXj1KlTJCcn4+DggIgQHR2d5e7ZZDIxfvx483aXLVtG06ZNAXBycqJ69ermL/Hiiy/y7bffMnbsWNzc3Czu5NOqBWrVqpVjmubMmXNPzOduS5kPJlV4mqe2oflqfZqntlGYfM0xoH/00UdZlsXGxiIiODk54ejomOeAXr16dXx9fVm8eDGDBw8mODgYd3d3i+J2gPj4eOLj46lUqRKXLl1i2rRpTJo0CTDq4e+77z4cHR1JSEggJCQEX19fAPz9/YmPj2fz5s106tSJefPm0a9fPxwddfpSpZRS94YcA/qNGzeyLEtMTGTDhg28++67LF68OF87mjdvHoMHD2bq1KlUqFCBRYsWATBkyBBzy/lr167RsWNH7O3tSUlJYcSIEfTp0weAbdu2MX78eOzt7UlOTqZz586MGzcOMPrNL168mJdffpm4uDjq1KmT7/QppZRSdzOT3KmyORtfffUV8+fP548//rBFmmwqLCwMf39/QkNDtci9EGJiYrTIzco0T21D89X6NE9to7D5mmO3tdzUrVuX8PDwAu9UKaWUUtaV74B+/PhxPvzwQ/OgLkoppZQqfjnWobu6umbpCpaUlERiYiIuLi6EhITYPHFKKaWUypscA/pbb72VJaA7OztTt25devbsqfUnSimlVAmSY0B///33izAZSimllCqMHOvQo6OjCQsLy/a9sLAwTp06ZbNEKaWUUip/cgzor7zySo4To3z77be89tprNkuUUkoppfInx4C+c+dOOnfunO17jzzyCDt27LBZopRSSimVP7lOn5rT0Kl2dnbZjiSnlFJKqeKRY0Bv0qQJ3333XbbvrV69msaNG9ssUUoppZTKnxxbuY8YMYLBgwdjb2/Piy++SO3atTlz5gwLFizgyy+/5KuvvirKdCqllFIqFzkG9Oeff57z58/zwQcfMG/ePPPysmXLMm3aNAYNGlQkCVRKKaXUneUY0AHGjBnDsGHD2LFjB5cvX6ZKlSq0bduWChUqFFX6lFJKKZUHuQZ0gAoVKtC9e/eiSItSSimlCijHRnGzZ8/mnXfeyfa9d955h7lz59osUUoppZTKnxwD+qeffprjjGoeHh58+umnNkuUUkoppfInx4B+4sQJGjVqlO17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zo0bN6Ry5coyaNAgERG5evWquLi4yNChQ3NMz4IFCwSQuXPnmpddv35dnJ2dZdKkSVb85kqVLlqHrpSibNmybNmyJcvyxo0bm//u06cP9vb25tcBAQEMGTKEXbt24enpydatW2nWrBnNmjUzr1O+fHn69OnD1q1bAdixYwexsbEEBQXdMU3dunUz/+3q6kq9evU4depUgb6fUvcCDehKKezs7GjZsmWu61SvXt3i9X333YejoyNnz54F4MqVK9SsWTPL52rWrElMTAwAly9fBqB27dp3TFPGubcBypQpQ3x8/B0/p9S9SuvQlVJ5cuHCBYvXV65cISkpiVq1agFQuXJlzp8/n+Vz586do3LlygBUqVIFgDNnztg4tUrdezSgK6XyZO3ataSkpJhfh4SEYDKZaNWqFQAPP/ww+/bts2i4duvWLdatW0f79u0BaNu2LS4uLixYsKBoE6/UPUCL3JVSpKam8ueff2ZZXq1aNR544AEAEhIS6NevH6+++irHjx/n7bffpn///jRp0gSAF154gY8//pjevXszefJkypcvz7///W/i4uJ45513AKhYsSITJkzg7bffJiUlhX79+pGamsqmTZt45pln7ljsr5TKmQZ0pRRxcXG0bds2y/JBgwaxcOFCAN544w0uXrzIwIEDSUxM5PHHH2fOnDnmdV1dXfn999956623eOWVV0hKSuLBBx9k8+bNeHp6mtdL68v+8ccfs2jRIlxdXWnbtm2WOnqlVP6YRDJ0NFVKqWyYTCY++ugjRo8eXdxJUUrlQOvQlVJKqVJAA7pSSilVCmgdulLqjrRmTqmST+/QlVJKqVJAA7pSSilVCmhAV0oppUqB/wd2QTmoGy0D5QAAAABJRU5ErkJggg=="
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "function plotModel(traces)\n",
    "    trainingLosses, validationLosses = traces[1], traces[2]\n",
    "    trainingAccuracy, validationAccuracy = traces[3], traces[4]\n",
    "\n",
    "    p1 = plot(trainingLosses,label=\"Train\", ylim=(0.0,0.5), xlabel=\"Epoch\", \n",
    "            ylabel = \"Loss\",c=:orange,seriestype = [:scatter,:line])\n",
    "         plot!(validationLosses,label=\"Validation\",c=:blue,seriestype = [:scatter,:line])\n",
    "\n",
    "    p2 = plot(trainingAccuracy,label=\"Train\", ylim=(0.9,1.0), xlabel=\"Epoch\", \n",
    "            ylabel = \"Accuracy\",legend=false,c=:orange,seriestype = [:scatter,:line])\n",
    "         plot!(validationAccuracy,label=\"Validation\",c=:blue,seriestype = [:scatter,:line])\n",
    "\n",
    "    plot(p1,p2,layout=(2,1),size=(500,400))\n",
    "end\n",
    "\n",
    "plotModel(traces)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see that the loss function improves rapidly. However, we can see a potential overfit after 10 epochs. Indeed, the accurary rate of the validation set presents a flat shape after 10 epochs."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Considering the test set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"\n",
       "     width=\"150mm\" height=\"150mm\"\n",
       "     viewBox=\"0 0 28 28\" preserveAspectRatio=\"none\"\n",
       "     shape-rendering=\"crispEdges\" stroke=\"none\">\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"0\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"1\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"2\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"3\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"4\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"5\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"6\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"7\" fill=\"#545454\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"7\" fill=\"#B9B9B9\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"7\" fill=\"#9F9F9F\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"7\" fill=\"#979797\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"7\" fill=\"#3C3C3C\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"7\" fill=\"#242424\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"7\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"8\" fill=\"#DEDEDE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"8\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"8\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"8\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"8\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"8\" fill=\"#F1F1F1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"8\" fill=\"#C6C6C6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"8\" fill=\"#AAAAAA\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"8\" fill=\"#343434\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"8\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"9\" fill=\"#434343\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"9\" fill=\"#727272\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"9\" fill=\"#484848\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"9\" fill=\"#727272\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"9\" fill=\"#A3A3A3\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"9\" fill=\"#E3E3E3\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"9\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"9\" fill=\"#E1E1E1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"9\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"9\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"9\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"9\" fill=\"#FAFAFA\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"9\" fill=\"#E5E5E5\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"9\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"9\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"9\" fill=\"#8C8C8C\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"9\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"10\" fill=\"#111111\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"10\" fill=\"#424242\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"10\" fill=\"#0E0E0E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"10\" fill=\"#434343\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"10\" fill=\"#434343\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"10\" fill=\"#434343\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"10\" fill=\"#3B3B3B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"10\" fill=\"#151515\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"10\" fill=\"#ECECEC\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"10\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"10\" fill=\"#6A6A6A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"10\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"11\" fill=\"#535353\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"11\" fill=\"#FDFDFD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"11\" fill=\"#D1D1D1\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"11\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"11\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"12\" fill=\"#161616\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"12\" fill=\"#E9E9E9\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"12\" fill=\"#FFFFFF\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"12\" fill=\"#535353\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"12\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"13\" fill=\"#818181\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"13\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"13\" fill=\"#EEEEEE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"13\" fill=\"#2C2C2C\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"13\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"14\" fill=\"#3B3B3B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"14\" fill=\"#F9F9F9\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"14\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"14\" fill=\"#3E3E3E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"14\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"15\" fill=\"#858585\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"15\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"15\" fill=\"#BBBBBB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"15\" fill=\"#050505\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"15\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"16\" fill=\"#090909\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"16\" fill=\"#CDCDCD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"16\" fill=\"#F8F8F8\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"16\" fill=\"#3A3A3A\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"16\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"17\" fill=\"#7E7E7E\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"17\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"17\" fill=\"#B6B6B6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"17\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"18\" fill=\"#4B4B4B\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"18\" fill=\"#FBFBFB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"18\" fill=\"#F0F0F0\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"18\" fill=\"#393939\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"18\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"19\" fill=\"#131313\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"19\" fill=\"#DDDDDD\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"19\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"19\" fill=\"#A6A6A6\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"19\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"20\" fill=\"#030303\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"20\" fill=\"#CBCBCB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"20\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"20\" fill=\"#DBDBDB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"20\" fill=\"#232323\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"20\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"21\" fill=\"#262626\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"21\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"21\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"21\" fill=\"#4D4D4D\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"21\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"22\" fill=\"#1F1F1F\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"22\" fill=\"#E0E0E0\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"22\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"22\" fill=\"#737373\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"22\" fill=\"#010101\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"22\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"23\" fill=\"#858585\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"23\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"23\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"23\" fill=\"#343434\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"23\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"24\" fill=\"#3D3D3D\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"24\" fill=\"#F2F2F2\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"24\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"24\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"24\" fill=\"#343434\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"24\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"25\" fill=\"#797979\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"25\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"25\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"25\" fill=\"#DBDBDB\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"25\" fill=\"#282828\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"25\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"26\" fill=\"#797979\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"26\" fill=\"#FEFEFE\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"26\" fill=\"#CFCFCF\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"26\" fill=\"#121212\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"26\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"0\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"1\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"2\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"3\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"4\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"5\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"6\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"7\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"8\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"9\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"10\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"11\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"12\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"13\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"14\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"15\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"16\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"17\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"18\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"19\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"20\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"21\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"22\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"23\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"24\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"25\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"26\" y=\"27\" fill=\"#000000\" />\n",
       "<rect width=\".81\" height=\".81\" x=\"27\" y=\"27\" fill=\"#000000\" />\n",
       "</svg>"
      ],
      "text/plain": [
       "28×28 Array{Gray{N0f8},2} with eltype Gray{FixedPointNumbers.Normed{UInt8,8}}:\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " ⋮                                 ⋱                   \n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)  …  Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)\n",
       " Gray{N0f8}(0.0)  Gray{N0f8}(0.0)     Gray{N0f8}(0.0)  Gray{N0f8}(0.0)"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#creating a predictor function (packaging the neural network)\n",
    "exampleImage = testImgs[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "28×28×1×1 Array{Float32,4}:\n",
       "[:, :, 1, 1] =\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0       …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0       …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.329412     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.870588     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.262745     0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0       …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " ⋮                        ⋮              ⋱                 ⋮         \n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0       …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0       …  0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0\n",
       " 0.0  0.0  0.0  0.0  0.0  0.0  0.0          0.0  0.0  0.0  0.0  0.0  0.0"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "testImg = Array{Float32}(undef, 28, 28, 1, 1)\n",
    "testImg[:,:,1,1] = exampleImage;\n",
    "testImg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×1 Array{Float32,2}:\n",
       " 0.0\n",
       " 3.361f-40\n",
       " 4.5305f-41\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 1.0\n",
       " 0.0\n",
       " 1.0840842f-35"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "exampleModelOutput = model(testImg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "784×1 Array{Float32,2}:\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " ⋮\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Another way is to put it in a 784x1 matrix/array\n",
    "testImg2 = reshape(Float32.(exampleImage),784,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×1 Array{Float32,2}:\n",
       " 0.0\n",
       " 3.361f-40\n",
       " 4.5305f-41\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 0.0\n",
       " 1.0\n",
       " 0.0\n",
       " 1.0840842f-35"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model(testImg2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Creating a predictor function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1-element Array{Int64,1}:\n",
       " 8"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "onecold(exampleModelOutput)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "first(onecold(exampleModelOutput)) - 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "predictor (generic function with 1 method)"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Our own \"predictor\" function based on a trained model\n",
    "predictor(img,model) = first(onecold(model(reshape(Float32.(img),784,1))))-1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predictor(exampleImage,model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10000-element Array{Int64,1}:\n",
       " 7\n",
       " 2\n",
       " 1\n",
       " 0\n",
       " 4\n",
       " 1\n",
       " 4\n",
       " 9\n",
       " 5\n",
       " 9\n",
       " 0\n",
       " 6\n",
       " 9\n",
       " ⋮\n",
       " 5\n",
       " 6\n",
       " 7\n",
       " 8\n",
       " 9\n",
       " 0\n",
       " 1\n",
       " 2\n",
       " 3\n",
       " 4\n",
       " 5\n",
       " 6"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preds = [predictor(img,model) for img in testImgs]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9683"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "testAccuracy = sum(preds .== testLabels)/length(preds)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10×10 Array{Int64,2}:\n",
       " 970     0     0    0    3    3    2    1    4    1\n",
       "   1  1123     2    0    0    2    3    9    2    2\n",
       "   1     5  1003    5    4    1    1   12    4    1\n",
       "   0     0     6  948    0    3    0    0    0    0\n",
       "   0     1     1    0  933    0    0    1    3    6\n",
       "   3     0     2   31    0  856   11    0    9    1\n",
       "   2     2     0    0   11    9  939    0    1    1\n",
       "   2     0     8    9    2    4    1  999    7   15\n",
       "   0     4    10   13    3    7    1    2  935    5\n",
       "   1     0     0    4   26    7    0    4    9  977"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "confusionMatrix = \n",
    "    [sum([predictor(img,model) .== i for img in testImgs[testLabels .== j]]) \n",
    "        for i in 0:9, j in 0:9]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9683"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "using LinearAlgebra\n",
    "sum(diag(confusionMatrix))/length(preds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Improve our model by tuning some parameters \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model complexity\n",
    "\n",
    "We will explore different model size by playing with the number of hidden layer from 1 to 3 and different number of neurons. Complex models have higher capacity to learn more features and patterns in the data, however they can overfit the training data. We try to maximize a high validation performance while minimizing the complexity of our model. The folowing table present the 9 models we will explore:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Symbol"
      ]
     },
     "execution_count": 170,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "typeof(:person)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Dict{Tuple{Symbol,Int64},Array{Int64,1}} with 9 entries:\n",
       "  (:large, 3)  => [256, 128, 64]\n",
       "  (:medium, 3) => [64, 32, 16]\n",
       "  (:small, 2)  => [16, 8]\n",
       "  (:small, 3)  => [16, 8, 4]\n",
       "  (:large, 2)  => [256, 128]\n",
       "  (:medium, 1) => [64]\n",
       "  (:small, 1)  => [16]\n",
       "  (:medium, 2) => [64, 32]\n",
       "  (:large, 1)  => [256]"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3×3 Array{Array{Int64,1},2}:\n",
       " [16]   [16, 8]     [16, 8, 4]\n",
       " [64]   [64, 32]    [64, 32, 16]\n",
       " [256]  [256, 128]  [256, 128, 64]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "Chain(flatten, Dense(784, 64, relu), Dense(64, 32, relu), Dense(32, 16, relu), Dense(16, 10), softmax)"
      ]
     },
     "execution_count": 172,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sizes = [:small, :medium, :large]\n",
    "layers = [1,2,3]\n",
    "models = Dict{Tuple{Symbol,Int64},Array{Int64,1}}()\n",
    "models[(:small,1)] = [16] ; models[(:small,2)] = [16,8] ;  models[(:small,3)] = [16,8,4]\n",
    "models[(:medium,1)] = [64] ; models[(:medium,2)] = [64,32] ;  models[(:medium,3)] = [64,32,16]\n",
    "models[(:large,1)] = [256] ; models[(:large,2)] = [256,128] ;  models[(:large,3)] = [256,128,64]\n",
    "\n",
    "function makeModel(size,layers) \n",
    "    functions = []\n",
    "    push!(functions,flatten)\n",
    "    architecture = models[(size,layers)]\n",
    "    prevNeurons = 784\n",
    "    for l in 1:layers\n",
    "        neurons = architecture[l]\n",
    "        push!(functions,Dense(prevNeurons,neurons,relu))\n",
    "        prevNeurons = neurons\n",
    "    end\n",
    "    push!(functions,Dense(prevNeurons,10))\n",
    "    push!(functions,softmax)\n",
    "    return Chain(functions...)\n",
    "end\n",
    "\n",
    "display([models[(s,l)] for s in sizes, l in layers])\n",
    "\n",
    "makeModel(:medium,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1: Validation Accuracy: 0.934\n",
      "2: Validation Accuracy: 0.969\n",
      "3: Validation Accuracy: 0.987\n",
      "4: Validation Accuracy: 0.984\n",
      "5: Validation Accuracy: 0.988\n",
      "6: Validation Accuracy: 0.992\n",
      "7: Validation Accuracy: 0.989\n",
      "8: Validation Accuracy: 0.992\n",
      "9: Validation Accuracy: 0.988\n",
      "10: Validation Accuracy: 0.992\n",
      "11: Validation Accuracy: 0.997\n",
      "12: Validation Accuracy: 0.997\n",
      "13: Validation Accuracy: 0.995\n",
      "14: Validation Accuracy: 0.995\n",
      "15: Validation Accuracy: 0.993\n",
      "16: Validation Accuracy: 0.994\n",
      "17: Validation Accuracy: 0.998\n",
      "18: Validation Accuracy: 0.997\n",
      "19: Validation Accuracy: 0.997\n",
      "20: Validation Accuracy: 0.998\n"
     ]
    },
    {
     "data": {
      "image/png": "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169hZ2fH8OHDTWfpycnJfP3110ycOLHQ859n+f7779mwYQP79u1jy5YtHDt2zLStoPnUfX19GTduHE8//TT79u3j7bffzlXmhQsXGD58OMuXL+fAgQOMGTOGxx57zLT933//5ZlnnmH//v385z//YfLkyXf9WWSRhC6EEKJEnTt3LvNemwL2aHPLfndn1KhRrFq1itTUVAwGAy1btqRRo0a89tpr+Pj44Ofnx969e9m3b99ty/n99995/PHHqVq1KtbW1jzzzDOmbVnzqRelPIDdu3fj6+uLl5cXAMOGDSM2Ntb0nlu0aGFqp+/YsSMnT568uw8hB+nlLoQQokTVq1cv894h9Or2Wx26Zb+707p1a5o2bcr333/PF198wahRo4o0/3mW/Krks9xNeVllapqWZ33WutKYe13O0IUQQpSozp0707ChO5o2AzDestWIpv0XV9fGdO7cudivNWrUKGbMmMGePXt47LHH8p3//E66d+/OmjVruHHjBhkZGSxbtsy07XblOTk5ceXKlXzL7NixI/v27SMiIgKAr7/+moYNG1K3bt3iveHbkIQuhBCiRFlbWzNv3gfAD2jaIHL2ctcf/8BHH80pkevRhw4dytGjRxkyZAhVq1blpZde4s8//8TX15dnnnmmUPOfZ02V6uPjw0MPPYS3t7dp2+3KGzx4MHv37jV1isupVq1arFixgmHDhuHj48Mnn3zCmjVriv1+b0dTt6trqIDCw8MJCAggLCwMf39/c4dzz0tISMDFxcXcYYhCkuNlWUryeN3N/06DwcDLL7+S2UFO5+ramI8+mkNgYGCJxHUvKOxnL23oQgghSkVgYCADBw6UkeLKiCR0IYQQpcba2ppu3bqZO4x7grShCyGEEBWAJHQhhBCiApCELoQQQlQAktCFEEKICkASuhBCCFEBlPuEfvz4ce6//348PDxo3769abaanHbt2oWvry++vr60bt2asWPHkpKSYoZohRBClAWZDz2vcp/Qx44dy5gxYzh27BghISGMGjUqzz4+Pj7s2bOHffv2cfDgQS5evMiiRYvMEK0QQoiyIPOh51WuE/qFCxcIDw9n+PDhAAQFBREZGUlUVFSu/RwcHLC1tQUgNTWVpKQkrKzK9VsTQghRDDIfel7lemCZmJgY6tevj42NHqamabi5uREdHY27u3uufaOiohg0aBAnTpzg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AQgNDcXd3R13d/dc+yUnJ3P58mUALl26xMyZMwkJCQH08eWHDh2Ki4sLn332Wa4z/sTERG7evAnoPeW/+eYb/Pz8SiT2wMBA9obt48bNJPaG7WPw4MElUq4QQghRksqsyn3RokUEBwczY8YMnJycWL58OQCjR49mwIABDBgwgCtXrtC1a1esra3JyMhg/Pjxpnbyb775BoPBgLe3tylZP/DAAyxYsIAjR44wduxYNE0jPT0df39/U+94IYQQ4l6gKZVPY3YFFh4eTkBAAGFhYfj7+5s7nHteQkJC3nYgUW7J8bIscrwsS3GPV5lUuQshhBCidElCF0IIISoASehCCCFEBSAJXQghhKgAJKELIYQQFYAkdCGEEKICkIQuhBBCVACS0IUQQogKQBK6EEIIUQFIQhdCCCEqAEnoQgghRAUgCV0IIYSoACShCyGEEBWAJHQhhBCiApCELoQQQlQAktCFEEKICkASuhBCCFEBSEIXQgghKgBJ6EIIIUQFIAldCCGEqAAkoQshhBAVgCR0IYQQogKQhC6EEEJUAJLQhRBCiApAEroQQghRAUhCF0IIISoASehCCCFEBSAJXQghhKgAJKELIYQQFYAkdGFWoaGh5g5BFIEcL8six8uyFPd4lVlCP378OPfffz8eHh60b9+ew4cP59nHaDTy6quv0qZNGzw9PRk1ahSpqamm7T/88AOenp40a9aMoKAgrl+/btq2e/dufH198fDwoHv37pw7d65M3pcoHoPBYO4QRBHI8bIscrwsS3GPV5kl9LFjxzJmzBiOHTtGSEgIo0aNyrPPkiVLOHDgAOHh4URERAAwb948AK5fv86oUaNYt24dJ06coF69ekyfPh0ApRTDhg3jo48+4tixY/Tt25eJEyeW1VsTQgghzK5MEvqFCxcIDw9n+PDhAAQFBREZGUlUVFSu/fbv30+PHj2ws7ND0zT69evHihUrANi4cSNt27bF09MTgOeff57Vq1cDsHfvXipVqkS3bt0A/cfDunXrSEtLK4u3J4QQQpidTVm8SExMDPXr18fGRn85TdNwc3MjOjoad3d3037t2rXjs88+47nnnqNSpUp8/fXXpqQfHR1No0aNTPu6u7tz5swZjEZjnm2Ojo44Ojpy7tw53NzccsWSlJQEYKoBEOZ15coVwsPDzR2GKCQ5XpZFjpdluZvj5enpiYOD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"
     },
     "execution_count": 179,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = makeModel(:large,3)\n",
    "traces = trainModel(model,epochs = 20, opt = RMSProp(0.002))\n",
    "plotModel(traces)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Batch Normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "search: \u001b[0m\u001b[1mB\u001b[22m\u001b[0m\u001b[1ma\u001b[22m\u001b[0m\u001b[1mt\u001b[22m\u001b[0m\u001b[1mc\u001b[22m\u001b[0m\u001b[1mh\u001b[22m\u001b[0m\u001b[1mN\u001b[22m\u001b[0m\u001b[1mo\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mm\u001b[22m \u001b[0m\u001b[1mb\u001b[22m\u001b[0m\u001b[1ma\u001b[22m\u001b[0m\u001b[1mt\u001b[22m\u001b[0m\u001b[1mc\u001b[22m\u001b[0m\u001b[1mh\u001b[22med_tra\u001b[0m\u001b[1mn\u001b[22msp\u001b[0m\u001b[1mo\u001b[22mse\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "\\begin{verbatim}\n",
       "BatchNorm(channels::Integer, σ = identity;\n",
       "          initβ = zeros, initγ = ones,\n",
       "          ϵ = 1e-8, momentum = .1)\n",
       "\\end{verbatim}\n",
       "\\href{https://arxiv.org/abs/1502.03167}{Batch Normalization} layer. \\texttt{channels} should be the size of the channel dimension in your data (see below).\n",
       "\n",
       "Given an array with \\texttt{N} dimensions, call the \\texttt{N-1}th the channel dimension. (For a batch of feature vectors this is just the data dimension, for \\texttt{WHCN} images it's the usual channel dimension.)\n",
       "\n",
       "\\texttt{BatchNorm} computes the mean and variance for each each \\texttt{W×H×1×N} slice and shifts them to have a new mean and variance (corresponding to the learnable, per-channel \\texttt{bias} and \\texttt{scale} parameters).\n",
       "\n",
       "Use \\href{@ref}{\\texttt{testmode!}} during inference.\n",
       "\n",
       "\\section{Examples}\n",
       "\\begin{verbatim}\n",
       "m = Chain(\n",
       "  Dense(28^2, 64),\n",
       "  BatchNorm(64, relu),\n",
       "  Dense(64, 10),\n",
       "  BatchNorm(10),\n",
       "  softmax)\n",
       "\\end{verbatim}\n"
      ],
      "text/markdown": [
       "```\n",
       "BatchNorm(channels::Integer, σ = identity;\n",
       "          initβ = zeros, initγ = ones,\n",
       "          ϵ = 1e-8, momentum = .1)\n",
       "```\n",
       "\n",
       "[Batch Normalization](https://arxiv.org/abs/1502.03167) layer. `channels` should be the size of the channel dimension in your data (see below).\n",
       "\n",
       "Given an array with `N` dimensions, call the `N-1`th the channel dimension. (For a batch of feature vectors this is just the data dimension, for `WHCN` images it's the usual channel dimension.)\n",
       "\n",
       "`BatchNorm` computes the mean and variance for each each `W×H×1×N` slice and shifts them to have a new mean and variance (corresponding to the learnable, per-channel `bias` and `scale` parameters).\n",
       "\n",
       "Use [`testmode!`](@ref) during inference.\n",
       "\n",
       "# Examples\n",
       "\n",
       "```julia\n",
       "m = Chain(\n",
       "  Dense(28^2, 64),\n",
       "  BatchNorm(64, relu),\n",
       "  Dense(64, 10),\n",
       "  BatchNorm(10),\n",
       "  softmax)\n",
       "```\n"
      ],
      "text/plain": [
       "\u001b[36m  BatchNorm(channels::Integer, σ = identity;\u001b[39m\n",
       "\u001b[36m            initβ = zeros, initγ = ones,\u001b[39m\n",
       "\u001b[36m            ϵ = 1e-8, momentum = .1)\u001b[39m\n",
       "\n",
       "  Batch Normalization (https://arxiv.org/abs/1502.03167) layer. \u001b[36mchannels\u001b[39m\n",
       "  should be the size of the channel dimension in your data (see below).\n",
       "\n",
       "  Given an array with \u001b[36mN\u001b[39m dimensions, call the \u001b[36mN-1\u001b[39mth the channel dimension. (For\n",
       "  a batch of feature vectors this is just the data dimension, for \u001b[36mWHCN\u001b[39m images\n",
       "  it's the usual channel dimension.)\n",
       "\n",
       "  \u001b[36mBatchNorm\u001b[39m computes the mean and variance for each each \u001b[36mW×H×1×N\u001b[39m slice and\n",
       "  shifts them to have a new mean and variance (corresponding to the learnable,\n",
       "  per-channel \u001b[36mbias\u001b[39m and \u001b[36mscale\u001b[39m parameters).\n",
       "\n",
       "  Use \u001b[36mtestmode!\u001b[39m during inference.\n",
       "\n",
       "\u001b[1m  Examples\u001b[22m\n",
       "\u001b[1m  ≡≡≡≡≡≡≡≡≡≡\u001b[22m\n",
       "\n",
       "\u001b[36m  m = Chain(\u001b[39m\n",
       "\u001b[36m    Dense(28^2, 64),\u001b[39m\n",
       "\u001b[36m    BatchNorm(64, relu),\u001b[39m\n",
       "\u001b[36m    Dense(64, 10),\u001b[39m\n",
       "\u001b[36m    BatchNorm(10),\u001b[39m\n",
       "\u001b[36m    softmax)\u001b[39m"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "? BatchNorm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1: Validation Accuracy: 0.965\n",
      "2: Validation Accuracy: 0.975\n",
      "3: Validation Accuracy: 0.982\n",
      "4: Validation Accuracy: 0.988\n",
      "5: Validation Accuracy: 0.988\n",
      "6: Validation Accuracy: 0.989\n",
      "7: Validation Accuracy: 0.991\n",
      "8: Validation Accuracy: 0.992\n",
      "9: Validation Accuracy: 0.992\n",
      "10: Validation Accuracy: 0.995\n",
      "11: Validation Accuracy: 0.992\n",
      "12: Validation Accuracy: 0.992\n",
      "13: Validation Accuracy: 0.995\n",
      "14: Validation Accuracy: 0.996\n",
      "15: Validation Accuracy: 0.994\n",
      "16: Validation Accuracy: 0.994\n",
      "17: Validation Accuracy: 0.995\n",
      "18: Validation Accuracy: 0.994\n",
      "19: Validation Accuracy: 0.996\n",
      "20: Validation Accuracy: 0.996\n",
      "21: Validation Accuracy: 0.994\n",
      "22: Validation Accuracy: 0.996\n",
      "23: Validation Accuracy: 0.996\n",
      "24: Validation Accuracy: 0.996\n",
      "25: Validation Accuracy: 0.995\n",
      "\n",
      "Final validation accuracy = 0.9948333333333333\n"
     ]
    }
   ],
   "source": [
    "model= Chain(flatten, \n",
    "             Dense(784, 128,relu),\n",
    "             BatchNorm(128),\n",
    "             Dense(128,64,relu),\n",
    "             BatchNorm(64),\n",
    "             Dense(64, 10), softmax)\n",
    "traces = trainModel(model)\n",
    "println(\"\\nFinal validation accuracy = \", accuracy(validateSet..., model))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9747"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preds = [predictor(img,model) for img in testImgs]\n",
    "testAccuracy = sum(preds .== testLabels)/length(preds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Dropout\n",
    "\n",
    "An another avenue for overfitting issue is to use the **dropout** strategy."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This code is taken from [here](https://github.com/h-Klok/StatsWithJuliaBook/blob/master/9_chapter/dropout.jl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Precompiling StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd]\n",
      "└ @ Base loading.jl:1278\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 1\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 2\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 3\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 4\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 5\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 6\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 7\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 8\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 9\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 10\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 11\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 12\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 13\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 14\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 15\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 16\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 17\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 18\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 19\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 20\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 21\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 22\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 23\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 24\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 25\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 26\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 27\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 28\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 29\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n",
      "┌ Info: Epoch 30\n",
      "└ @ Main /Users/uqjnazar/.julia/packages/Flux/05b38/src/optimise/train.jl:114\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The best dropout probability is 0.25.\n",
      "It achieves 0.856 accuracy on average.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Warning: Keyword argument hover not supported with Plots.PyPlotBackend().  Choose from: Set([:zforeground_color_guide, :top_margin, :group, :background_color, :stride, :yforeground_color_text, :yguidefontcolor, :seriesalpha, :legendfontcolor, :seriescolor, :ztick_direction, :zlims, :overwrite_figure, :normalize, :linestyle, :xflip, :yforeground_color_guide, :fillcolor, :ygrid, :background_color_inside, :bins, :yscale, :clims, :xtickfontcolor, :xguide, :fillalpha, :tick_direction, :yguidefontsize, :legendfontfamily, :foreground_color, :x, :legend, :discrete_values, :ytick_direction, :ribbon, :xdiscrete_values, :legendtitle, :xgridstyle, :orientation, :gridstyle, :markersize, :camera, :xforeground_color_grid, :quiver, :zticks, :markerstrokecolor, :xtickfontsize, :levels, :zgridstyle, :foreground_color_border, :marker_z, :markerstrokealpha, :markeralpha, :zguidefontcolor, :ygridlinewidth, :zlink, :zscale, :smooth, :xticks, :zguidefontsize, :y, :margin, :ytickfontcolor, :title_location, :yforeground_color_border, :zguidefontfamily, :zgridalpha, :ztickfontcolor, :html_output_format, :yguide_position, :tickfontcolor, :xguide_position, :tickfontsize, :z, :yforeground_color_axis, :xerror, :contour_labels, :zguide_position, :xguidefontcolor, :primary, :aspect_ratio, :foreground_color_guide, :link, :guide_position, :colorbar_title, :yguide, :titlefont, :yguidefontfamily, :layout, :polar, :right_margin, :xlink, :series_annotations, :inset_subplots, :ytickfontsize, :tickfontfamily, :show_empty_bins, :xrotation, :xgrid, :ygridalpha, :dpi, :xtick_direction, :colorbar, :zflip, :ticks, :linealpha, :arrow, :zgrid, :bar_width, :zguide, :zforeground_color_text, :weights, :xgridalpha, :ygridstyle, :fill_z, :ztickfontfamily, :markershape, :background_color_subplot, :markerstrokewidth, :xguidefontfamily, :gridlinewidth, :foreground_color_subplot, :xgridlinewidth, :foreground_color_text, :yerror, :rotation, :zgridlinewidth, :grid, :xguidefontsize, :xforeground_color_axis, :background_color_outside, :titlefontcolor, :line_z, :size, :projection, :ydiscrete_values, :seriestype, :yflip, :fillrange, :xlims, :xforeground_color_border, :markercolor, :yrotation, :ylink, :yforeground_color_grid, :color_palette, :lims, :xscale, :left_margin, :annotations, :window_title, :zrotation, :foreground_color_axis, :guidefontsize, :foreground_color_title, :bottom_margin, :zdiscrete_values, :framestyle, :zerror, :scale, :zforeground_color_border, :background_color_legend, :linecolor, :contours, :foreground_color_legend, :title, :subplot_index, :flip, :foreground_color_grid, :linewidth, :ztickfontsize, :gridalpha, :guidefontfamily, :ylims, :bar_position, :xtickfontfamily, :ytickfontfamily, :xforeground_color_text, :show, :legendfontsize, :xforeground_color_guide, :subplot, :label, :guide, :guidefontcolor, :bar_edges, :match_dimensions, :titlefontsize, :titlefontfamily, :zforeground_color_axis, :zforeground_color_grid, :colorbar_entry, :yticks])\n",
      "└ @ Plots /Users/uqjnazar/.julia/packages/Plots/8GUYs/src/args.jl:1140\n"
     ]
    },
    {
     "data": {
      "image/png": "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+vVz+17Y7XaNGDFC+/fvN5JlxowZuvrqq41sa9myZbLZbDpy5Mgl7TM/P182m02rV692revXr59+9atfuZa3bt2qOXPmGMkJoGYULOAK0Lx5c+Xk5OjTTz/V6tWrNXr0aG3evFndunVzPb05UF1KwZKkvn37KicnR9u2bdMTTzyhTZs2acCAATp9+rQXU3pPVlaWPvzww1rHzJs3Ty+88IJrmYIFeB8f9gxcAYKCgtSrVy/X8h133KGHH35Yd999tzIzM9WnTx916NChxq89d+6cgoODFRTUNP5/rFWrVq7vRd++fRUeHq6RI0fq3Xff1W9+85tq4xv78bdt21Zt27atdcyPPzMOgG80zt8YALwuLCxMc+fO1blz57Ro0SLX+oSEBE2YMEHPPfec4uPj1bx5cx09elRVVVWaM2eO2rdvr9DQUHXs2FH//d//7bbNi5ervvjiC/Xo0UNhYWFKTk7W22+/XW3/CxcuVHJyskJDQ2W32/Xkk0+6Pmz2x9v6qauvvlozZsyQdOHS10cffaR33nnHdenv4mv1lZqaKknKy8u77OO/qK7jf+edd3THHXcoJiZGERER6tmzp957770at7V3714NGDBALVq0UEJCgpYsWeL2en0uS/74EuGMGTM0c+ZMnTp1yvU969evn7755hvZbDZt3rzZ7Wurqqpkt9vdPhgcQN0oWMAVrHPnzmrTpo1ycnLc1q9Zs0Zvv/22XnrpJa1bt04tWrTQ5MmT9dRTTykjI0MbN27UPffco4kTJ2rWrFluX1tRUaH7779fo0aNUnZ2tn7xi1/o3nvv1T//+U/XmLlz52rcuHEaMGCANmzYoIceekh/+ctfNG7cuEvKP2/ePKWkpLgu++Xk5CgrK+uStnGxWMXFxfns+PPy8jRo0CC99tprWrNmjfr27auBAwdq69at1fINGzZMd9xxh9auXav+/fsrMzPTYxmrj6ysLGVmZrouG+fk5GjevHnq2rWrevbsqcWLF7uNf//991VQUFDtw30B1MHfH4YIwLumT59uhYeHe3y9V69eVqdOnVzL8fHxVnR0tHXq1CnXun//+99WSEiINXnyZLevHTt2rBUeHm6dPHnStS9J1uLFi11jKisrrYSEBGv48OGu5ejoaOu+++5z29acOXMsm81mff/997XmDg8Pt6ZPn+5avvXWW6277767rm+Da+zAgQOtiooKq7y83Pryyy+tzp07W61atbIOHTrkk+P/qfPnz1sVFRXWL3/5S7cxS5cutSRZTz31lNv4W265xerdu7dr+affp7y8PEuStWrVKo/fI0/f20WLFllhYWFWSUmJa919991n9ezZs8bsADzjDBZwhbMsSzabzW1dv3791KJFC9fyP/7xD9eZmR8bPny4Tp06pa+++spt/b333uv6+1VXXaXBgwfrs88+kyTt2rVLR44cqXFblmXpk08+MXJcnrz77rsKCQlRaGiounfvrsrKSmVnZ+vaa691jfHm8UtSYWGhRo0apTZt2ig4OFghISF6//33tXv37mp5f7yti8tffvmlzp8/37BvQC2GDRumkJAQ15sGjh49qg0bNnD2CmgAChZwhSssLNTPf/5zt3UxMTFuy6WlpZJUbdzF5ZKSEte6kJAQ/exnP6u2vaKiokveljfcfPPN+uKLL+R0OnX48GF999136t+/f7W8P2by+KuqqjR48GD93//9n55++ml9+OGH+uKLL3TXXXfp7Nmz1fL+NEtMTIwqKirqfHxDQ4SHh2v48OGuy4QrVqxQcHCwhg0bZnxfQFPHuwiBK9i//vUv/fDDDxo9erTb+p+e0YqKipIkHT58WG3atHGtP3TokNvr0oV7kEpLS91KRnFxsWJjY6tt68d+uq2wsDBVVFS4jSkvL7/sxylERkaqe/futY7x5vHv3btXX331ldatW6df//rXrjFnzpypMUtxcbHbPouLixUSEqLo6Ohaj6GhHnzwQS1cuFA7duzQ0qVLdd9996lly5Ze2RfQlHEGC7hCnT17Vr/73e8UGhpa543hPXr0UEhIiN566y239W+++abCw8PlcDjc1q9du9b19/Pnz2vDhg3q2bOnJCkpKUmtW7eucVs2m00333yzpAuPHzh37py+//5715jNmzfLsiy3r2vWrFmNZ35MMnn8F4tUs2bNXGP279/v8dLoj7d1cTk1NVVXXXVVg4+nWbNmKi8vr/G17t27q1u3bvr973+vr7/+msuDQANxBgu4AlRVVbnuASorK9O3336rhQsXat++fVq2bJkSEhJq/fro6Gg98sgjev755xUaGqq+ffvqgw8+0IIFCzRz5kyFh4e7xjZr1kyzZ8/W2bNn1b59e82bN0+FhYV6/PHHJV24J+lPf/qTfve736l169YaNGiQnE6npk+frt/+9rdq3769JOmuu+5SeHi4HnzwQf3xj39UYWGhXnrpJbdiIknJyclavny5Nm7cqNjYWMXFxbm9I9AEk8ffqVMntW3bVlOnTtX58+d16tQpTZ8+3e0s1Y/97W9/U/PmzeVwOPT3v/9d27Zt0zvvvHNZx5OcnKzKykq99NJL6tOnjyIiIpSUlOR6/cEHH9T48eOVmJjoKrwALpGfb7IH4GUX39kmybLZbFbLli2tLl26WOPHj7dyc3OrjY+Pj7fGjx9fbf358+et2bNnW/Hx8VZISIh13XXXWS+++GK1fYWHh1ufffaZlZqaajVr1sxKSkqy1q9fX217r776qpWUlGSFhIRYbdu2taZNm2ZVVFS4jXnvvfes66+/3goLC7N69epl7dixo9q7CAsLC62BAwdarVq1siS5vfZT9XnHoS+O//PPP7duuukmKywszOrYsaO1fPlya9SoUdb111/vGnPxXYSffvqpdeutt1phYWGW3W63Fi5cWOM+L6rPuwgrKiqshx9+2Lr22mstm81m3XrrrW7bPHjwoCXJ+vOf/1zr9wqAZzbL+sn5dgBooBkzZuj5559XWVmZv6PgMixZskTjxo1TQUFBtRv7AdQPlwgBAJIufFD0nj17NGvWLN1///2UK+AycJM7AEDShTOQd999t+Lj490+HBrApeMSIQAAgGGcwQIAADCMggUAAGAYBQsAAMCw/wdHJJNg0ofq0AAAAABJRU5ErkJggg=="
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "using Flux, Flux.Data.MNIST, Statistics, BSON, Random, StatsPlots; pyplot()\n",
    "using Flux: onehotbatch, onecold, crossentropy, @epochs\n",
    "\n",
    "epochs = 30\n",
    "eta = 1e-3\n",
    "batchSize = 200\n",
    "trainRange, validateRange = 1:1000, 1001:5000\n",
    "\n",
    "function minibatch(x, y, idxs)\n",
    "    xBatch = Array{Float32}(undef, size(x[1])..., 1, length(idxs))\n",
    "    for i in 1:length(idxs)\n",
    "        xBatch[:, :, :, i] = Float32.(x[idxs[i]])\n",
    "    end\n",
    "    return (xBatch, onehotbatch(y[idxs], 0:9))\n",
    "end\n",
    "\n",
    "trainLabels = MNIST.labels()[trainRange]\n",
    "trainImgs = MNIST.images()[trainRange]\n",
    "mbIdxs = Iterators.partition(1:length(trainImgs), batchSize)\n",
    "trainSet = [minibatch(trainImgs, trainLabels, i) for i in mbIdxs]\n",
    "\n",
    "validateLabels = MNIST.labels()[validateRange]\n",
    "validateImgs = MNIST.images()[validateRange]\n",
    "validateSet = minibatch(validateImgs, validateLabels, 1:length(validateImgs))\n",
    "\n",
    "accuracy(x, y, model) = mean(onecold(model(x)) .== onecold(y))\n",
    "loss(x, y, model) = crossentropy(model(x), y)\n",
    "\n",
    "function evalAccuracy(dropP)\n",
    "    model= Chain(Conv((5, 5), 1=>8, relu), MaxPool((2,2)),  #Convolutional layers - topic of next lecture\n",
    "                    Conv((3, 3), 8=>16, relu), MaxPool((2,2)),\n",
    "                    flatten,\n",
    "                    Dense(400, 200,relu), \n",
    "                    Dropout(dropP),\n",
    "                    Dense(200, 200,relu), Dropout(dropP),\n",
    "                    Dense(200, 200,relu), Dropout(dropP),\n",
    "                    Dense(200, 10,relu), Dropout(dropP),\n",
    "                    softmax)\n",
    "    opt = ADAM(eta);\n",
    "    @epochs epochs Flux.train!((x,y)->loss(x,y,model),params(model),trainSet,opt)  #HERE Is the \"TOFU\"\n",
    "    accuracy(validateSet..., model)\n",
    "end\n",
    "\n",
    "pToTest = [0.0, 0.25, 0.5, 0.75]\n",
    "n = 10\n",
    "results = [[evalAccuracy(p) for _ in 1:n] for p in pToTest]\n",
    "bestAcc, bestI = findmax(median.(results))\n",
    "println(\"The best dropout probability is $(pToTest[bestI]).\")\n",
    "println(\"It achieves $(bestAcc) accuracy on average.\")\n",
    "\n",
    "boxplot(results,label=\"\",\n",
    "       xticks=([1:1:4;],string.(pToTest)),\n",
    "       xlabel=\"Dropout Probability\", ylabel = \"Accuracy\", legend = false)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Early stop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "batchSize = 128\n",
    "validateFraction = 0.5  #!!!!!\n",
    "numTrain = length(trainImgs)\n",
    "trainRange, validateRange = 1:Int(round(numTrain*(1-validateFraction))), (Int(round(numTrain*(1-validateFraction)))+1):60000\n",
    "\n",
    "function minibatch(x, y, indexRange)\n",
    "    xBatch = Array{Float32}(undef, size(x[1])..., 1, length(indexRange))\n",
    "    for i in 1:length(indexRange)\n",
    "        xBatch[:, :, :, i] = Float32.(x[indexRange[i]])\n",
    "    end\n",
    "    return (xBatch, onehotbatch(y[indexRange], 0:9))#A tuple of x and y\n",
    "end\n",
    "\n",
    "mbIdxs = Iterators.partition(1:length(trainImgs), batchSize)\n",
    "trainSet = [minibatch(trainImgs, trainLabels, bi) for bi in mbIdxs]\n",
    "oneBatchTrainSet =  minibatch(trainImgs, trainLabels, 1:length(trainImgs))\n",
    "\n",
    "validateLabels = MNIST.labels()[validateRange]\n",
    "validateImgs = MNIST.images()[validateRange]\n",
    "validateSet = minibatch(validateImgs, validateLabels, 1:length(validateImgs));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1: Validation Accuracy: 0.725\n",
      "2: Validation Accuracy: 0.785\n",
      "3: Validation Accuracy: 0.815\n",
      "4: Validation Accuracy: 0.831\n",
      "5: Validation Accuracy: 0.857\n",
      "6: Validation Accuracy: 0.857\n",
      "7: Validation Accuracy: 0.866\n",
      "8: Validation Accuracy: 0.874\n",
      "9: Validation Accuracy: 0.882\n",
      "10: Validation Accuracy: 0.883\n",
      "11: Validation Accuracy: 0.884\n",
      "12: Validation Accuracy: 0.885\n",
      "13: Validation Accuracy: 0.885\n",
      "14: Validation Accuracy: 0.886\n",
      "15: Validation Accuracy: 0.886\n",
      "16: Validation Accuracy: 0.886\n",
      "17: Validation Accuracy: 0.886\n",
      "18: Validation Accuracy: 0.886\n",
      "19: Validation Accuracy: 0.886\n",
      "20: Validation Accuracy: 0.886\n",
      "21: Validation Accuracy: 0.886\n",
      "22: Validation Accuracy: 0.886\n",
      "23: Validation Accuracy: 0.886\n",
      "24: Validation Accuracy: 0.886\n",
      "25: Validation Accuracy: 0.886\n",
      "26: Validation Accuracy: 0.886\n",
      "27: Validation Accuracy: 0.886\n",
      "28: Validation Accuracy: 0.886\n",
      "29: Validation Accuracy: 0.886\n",
      "30: Validation Accuracy: 0.886\n",
      "31: Validation Accuracy: 0.886\n",
      "32: Validation Accuracy: 0.886\n",
      "33: Validation Accuracy: 0.886\n",
      "34: Validation Accuracy: 0.886\n",
      "35: Validation Accuracy: 0.886\n",
      "36: Validation Accuracy: 0.886\n",
      "37: Validation Accuracy: 0.886\n",
      "38: Validation Accuracy: 0.886\n",
      "39: Validation Accuracy: 0.886\n",
      "40: Validation Accuracy: 0.886\n",
      "41: Validation Accuracy: 0.886\n",
      "42: Validation Accuracy: 0.886\n",
      "43: Validation Accuracy: 0.886\n",
      "44: Validation Accuracy: 0.886\n",
      "45: Validation Accuracy: 0.886\n",
      "46: Validation Accuracy: 0.886\n",
      "47: Validation Accuracy: 0.886\n",
      "48: Validation Accuracy: 0.886\n",
      "49: Validation Accuracy: 0.886\n",
      "50: Validation Accuracy: 0.886\n",
      "\n",
      "Final validation accuracy = 0.8863865546218488\n"
     ]
    }
   ],
   "source": [
    "model= Chain(flatten, \n",
    "             Dense(784, 300,relu),\n",
    "             Dense(300, 200,relu),\n",
    "             Dense(200, 128,relu),\n",
    "             Dense(128,64,relu),\n",
    "             Dense(64, 10), softmax)\n",
    "traces = trainModel(model,epochs=50,opt=ADAM(0.002))\n",
    "println(\"\\nFinal validation accuracy = \", accuracy(validateSet..., model))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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nj3afleuXEFISAhee+21woRNRERktAq1hf7ll19iag6Thjs7O2Pp0qUFurlM48aNs712fc2aNZmeN2zYsMCXxBEREZUFhdpCv379OpycnLJta9CgQa6XnBEREZH6ClXQLS0tce3atWzbrl69CgsLiyIFRURERAVTqILeo0cPzJkzB9HR0ZmWx8TEYN68eejdu7cqwREREVH+FOoY+sKFC9GmTRs0btwYXbp00d5Y5tChQ6hZsyY+/vhjteMkIiKiXBRqC7127doICwvDlClTEBcXh8OHDyMuLg7vvvsuwsLCkJycrHacRERElItCX4dubW2NBQsWaJ/fvn0b27dvR69evXD69GmkpqaqEiARERHlrUg3lnnw4AE0Gg22bNmCQ4cOIS0tDS1atMDy5cvVio+IiIjyocAFPSUlBfv378eWLVuwb98+JCcno27dukhLS8OOHTt4r3QiIiIDyHdBP3r0KLZs2YLAwEAkJCSgRo0aGDlyJIYMGQJXV1dYW1ujZs2a+oyViIiIcpDvgt6pUycoioKuXbti6tSp6N69O0xNTQEA9+7d01uARERElLd8F3QPDw+EhYXh8OHDMDExQWxsLPr3748qVaroMz4iIiLKh3xfthYaGorw8HC8//77uHz5MkaMGAFbW1u8+uqr+P7777PMaU5ERETFp0DXoTdu3Bjz5s3D5cuX8euvv8Lf3x9Hjx7FiBEjAADLli3D0aNH9REnERER5aJQN5YBgDZt2mD58uW4ceMG9u/fjyFDhuDnn39G586d0aBBAzVjJCIiojwU6Tp0ADAxMUGvXr3Qq1cvJCcn4/vvv8fWrVvViI2IiIjyqdBb6NmpWLEiBg0ahD179qg5LBEREeVB1YJOREREhsGCTkREZARY0ImIiIwACzoREZERYEEnIiIyAizoRERERqBEFPRLly6hXbt2cHZ2RqtWrXD+/Pls+509exadOnWCq6srGjduDI1GU8yREhERlUxFvrGMGsaNG4exY8dixIgRCAwMhL+/P06cOJGpT1JSEvr164cNGzagffv2SElJQUJCgoEiJiIiKlkMvoUeGxuL0NBQDB06FADg5+eHa9euITIyMlO/rVu3om3btmjfvj0AwMzMjPOvExERPWPwgh4dHY3atWvDzCx9Z4GiKHBwcEBUVFSmfufPn4e5uTlefvlleHh4YNiwYfjnn38M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"
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "function plotModel(traces)\n",
    "    trainingLosses, validationLosses = traces[1], traces[2]\n",
    "    trainingAccuracy, validationAccuracy = traces[3], traces[4]\n",
    "\n",
    "    p1 = plot(trainingLosses,label=\"Train\", ylim=(0.0,1.5), xlabel=\"Epoch\", \n",
    "            ylabel = \"Loss\",c=:orange,seriestype = [:scatter,:line])\n",
    "         plot!(validationLosses,label=\"Validation\",c=:blue,seriestype = [:scatter,:line])\n",
    "\n",
    "    p2 = plot(trainingAccuracy,label=\"Train\", ylim=(0.5,1.0), xlabel=\"Epoch\", \n",
    "            ylabel = \"Accuracy\",legend=false,c=:orange,seriestype = [:scatter,:line])\n",
    "         plot!(validationAccuracy,label=\"Validation\",c=:blue,seriestype = [:scatter,:line])\n",
    "\n",
    "    plot(p1,p2,layout=(2,1),size=(500,400))\n",
    "end\n",
    "\n",
    "plotModel(traces)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this case we would prefer to \"early stop\" and get the parameters trained at around Epcoh 10 - more on that in the next practical..."
   ]
  }
 ],
 "metadata": {
  "@webio": {
   "lastCommId": null,
   "lastKernelId": null
  },
  "kernelspec": {
   "display_name": "Julia 1.5.3",
   "language": "julia",
   "name": "julia-1.5"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "1.5.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
